1. Field of the Invention
The invention relates to network transmission using the TCP protocol.
2. Description of the Related Art
When packets are lost in the network, TCP (transmission control protocol) first resorts to fast retransmit procedures to recover the loss. TCP SACK (selective acknowledgement) is one of the fast retransmit mechanisms. If the loss is not recovered by fast retransmit, the RTO (Retransmit Time Out) is triggered, which puts TCP in slow recovery, and an attempt is made to recover the loss. In conventional slow recovery, CWND (congestion window size) is set to ‘1’ and packet retransmission begins from SND.UNA (Send Unacknowledged), the last unacknowledged segment in the transmit buffer. The number of RTTs (round trip times) slow recovery will take to recover the loss is proportional to the number of packets lost in the recovery window. On a long fat network (LFN), even a moderate packet loss can result in a long slow recovery phase because of high numbers of packets getting lost. There are no new data flows during slow recovery phase, only retransmission of data. Thus the traditional slow recovery approach may trigger an application timeout on a high latency network. Also, existing TCP implementations do not use SACK in slow recovery.